package game.module.mj.bean;

import java.util.List;
import java.util.Set;

public class MjRound {
	
	private byte cost_way;
	
	private boolean dapai;
	
	private boolean typehu;
	
	private boolean gamestart;
	//--------------------------------------------------游戏变量
	private short m_wBankerUser ;        //庄家用户
	
	private short m_lGameScore[] ;         //游戏得分 4
	
	private boolean m_bTrustee[] ;       //是否托管  4
	
	private byte m_cbQuanFeng;           //圈风
	
	private byte m_cbQuanCounter;        //圈风计数
	
	private byte m_cbLianZhuangCount;     //连庄计数
	
	private int m_wReplaceUser;           //补牌的用户
	
	private  boolean m_bTianDiHu[];       //天胡状态 4
	
	//-------------------------------------------------出牌信息
	
    private int m_wOutCardUser;             //出牌的用户
	
	private byte m_cbOutCardData;           //出牌的扑克
	
	private int m_cbOutCardCount;           //出牌的数目
	
	private byte m_cbFengCardData[];        //记录八个风牌  8
	
	private byte m_cbFengCardCount;         //风牌的个数
	
	//-------------------------------------------------------发牌的信息
	private int m_cbSendCardData;             //派发出来的扑克
	

	//--------------------------------------------------------运行变量
	
    private int m_wProvideUser;               // 供应的用户
	
	private int m_cbProvideCard ;             // 供应的扑克
	
	private int m_wResumeUser ;               // 还原用户
	
	private int m_wCurrentUser ;              // 当前用户

	//--------------------------------------------------------状态变量
	
	private boolean m_bSendStatus;            //发牌状态
	
	private boolean m_bGangStatus;            //抢杆状态 
	
	private boolean m_bEnjoinChiHu[];         //禁止吃胡 4
	
	private boolean m_bEnjoinChiPeng[];       //禁止吃碰 4
	
	//----------------------------------------------------用户状态
	private boolean m_bResponse[];            //响应标志 4
	
	private byte m_cbUserAction[];            //用户动作 4
	
	private byte m_cbOperateCard[][];         //操作扑克 4 3
	
	private byte m_cbPerformAction[] ;        //执行动作 4
	//---------------------------------------------------组合扑克

	private byte m_cbWeaveItemCount[] ;      //组合数目  4
	
	private TagWeaveItem m_WeaveItemArray[][];	     //组合扑克 4 5扑克最大组合为5
	
	//----------------------------------------------------结束信息
	
	private byte  m_cbChiHuCard ;            //吃胡扑克
	
	private byte m_dwChiHuKind[] ;          //吃胡结果 4
	
	private CChiHuRight m_ChiHuRight[] ;          // 吃胡权位  4
	
	
	
	private String roomUuid;
	
	private List<Integer> playerIds;
	
	private byte[][] cards;
	
	private List<Byte> remain_card;
	
	private Short roundSum;
	
	private Set<Integer> enter_player;
	
	private Byte god_card;
	
	private List<List<Byte>> h_cards;// 花牌
	
	private List<List<Byte>> pushed_card;// 出过的牌
	
	private byte[][] CardIndex;
	
	private boolean[] playReady;
	
	private boolean [] GenFeng; //跟打风牌
	
	private byte[] ZiMo ;//自摸次数
	
	private byte[] JiePao;//解炮次数
	
	private byte[] DianPao;//点炮次数
	
	private byte[] MingGang;//明杠次数
	
	private byte[] AnGang;//次数
	
	private boolean SingGold[]; //单游
	
	private boolean DoubleGold[];//双游
	
	private boolean SanJingDao[]; //三金倒
	
	private boolean ThreeGold[];//三游
	
	private List<TagAnalyseItem>  AnalyseItemArray;//分析吃胡
	
	private List<List<Byte>> SingCardEye;//单游牌眼
	
	private List<List<Byte>> DoubleCardEye;//双游泳牌眼
	
	private TagKindItem KindItem[];//分析扑克变量
	
	private byte buhua_count;   //补花的数量
	
	private List<Short> kaijin_saizi;//开金数组
	
	private int create_time;//麻将创建时间
	
	private short round_count;
	
	private byte wait_game;
	
	private byte init_hua;
	
	

	public byte getCost_way() {
		return cost_way;
	}

	public void setCost_way(byte cost_way) {
		this.cost_way = cost_way;
	}

	public boolean isDapai() {
		return dapai;
	}

	public void setDapai(boolean dapai) {
		this.dapai = dapai;
	}

	public boolean isTypehu() {
		return typehu;
	}

	public void setTypehu(boolean typehu) {
		this.typehu = typehu;
	}

	public byte getInit_hua() {
		return init_hua;
	}

	public void setInit_hua(byte init_hua) {
		this.init_hua = init_hua;
	}

	public byte getWait_game() {
		return wait_game;
	}

	public void setWait_game(byte wait_game) {
		this.wait_game = wait_game;
	}

	public boolean isGamestart() {
		return gamestart;
	}

	public void setGamestart(boolean gamestart) {
		this.gamestart = gamestart;
	}

	public short getRound_count() {
		return round_count;
	}

	public void setRound_count(short round_count) {
		this.round_count = round_count;
	}

	public int getCreate_time() {
		return create_time;
	}

	public void setCreate_time(int create_time) {
		this.create_time = create_time;
	}

	public byte getBuhua_count() {
		return buhua_count;
	}

	public void setBuhua_count(byte buhua_count) {
		this.buhua_count = buhua_count;
	}

	public List<Short> getKaijin_saizi() {
		return kaijin_saizi;
	}

	public void setKaijin_saizi(List<Short> kaijin_saizi) {
		this.kaijin_saizi = kaijin_saizi;
	}

	public List<List<Byte>> getSingCardEye() {
		return SingCardEye;
	}

	public void setSingCardEye(List<List<Byte>> singCardEye) {
		SingCardEye = singCardEye;
	}

	
	public List<List<Byte>> getDoubleCardEye() {
		return DoubleCardEye;
	}

	public void setDoubleCardEye(List<List<Byte>> doubleCardEye) {
		DoubleCardEye = doubleCardEye;
	}

	public TagKindItem[] getKindItem() {
		return KindItem;
	}

	public void setKindItem(TagKindItem[] kindItem) {
		KindItem = kindItem;
	}

	
	public List<TagAnalyseItem> getAnalyseItemArray() {
		return AnalyseItemArray;
	}

	public void setAnalyseItemArray(List<TagAnalyseItem> analyseItemArray) {
		AnalyseItemArray = analyseItemArray;
	}

	public boolean[] getThreeGold() {
		return ThreeGold;
	}

	public void setThreeGold(boolean[] threeGold) {
		ThreeGold = threeGold;
	}

	public boolean[] getSingGold() {
		return SingGold;
	}

	public void setSingGold(boolean[] singGold) {
		SingGold = singGold;
	}

	public boolean[] getDoubleGold() {
		return DoubleGold;
	}

	public void setDoubleGold(boolean[] doubleGold) {
		DoubleGold = doubleGold;
	}

	public boolean[] isSanJingDao() {
		return SanJingDao;
	}

	public boolean[] getSanJingDao() {
		return SanJingDao;
	}

	public void setSanJingDao(boolean[] sanJingDao) {
		SanJingDao = sanJingDao;
	}

	public byte[] getZiMo() {
		return ZiMo;
	}

	public void setZiMo(byte[] ziMo) {
		ZiMo = ziMo;
	}

	public byte[] getJiePao() {
		return JiePao;
	}

	public void setJiePao(byte[] jiePao) {
		JiePao = jiePao;
	}

	public byte[] getDianPao() {
		return DianPao;
	}

	public void setDianPao(byte[] dianPao) {
		DianPao = dianPao;
	}

	public byte[] getMingGang() {
		return MingGang;
	}

	public void setMingGang(byte[] mingGang) {
		MingGang = mingGang;
	}

	public byte[] getAnGang() {
		return AnGang;
	}

	public void setAnGang(byte[] anGang) {
		AnGang = anGang;
	}

	public boolean[] getGenFeng() {
		return GenFeng;
	}

	public void setGenFeng(boolean[] genFeng) {
		GenFeng = genFeng;
	}

	public boolean[] getPlayReady() {
		return playReady;
	}

	public void setPlayReady(boolean[] playReady) {
		this.playReady = playReady;
	}

	public TagWeaveItem[][] getM_WeaveItemArray() {
		return m_WeaveItemArray;
	}

	public void setM_WeaveItemArray(TagWeaveItem[][] m_WeaveItemArray) {
		this.m_WeaveItemArray = m_WeaveItemArray;
	}

	public short getM_wBankerUser() {
		return m_wBankerUser;
	}

	public void setM_wBankerUser(short m_wBankerUser) {
		this.m_wBankerUser = m_wBankerUser;
	}

	public short[] getM_lGameScore() {
		return m_lGameScore;
	}

	public void setM_lGameScore(short[] m_lGameScore) {
		this.m_lGameScore = m_lGameScore;
	}

	public boolean[] getM_bTrustee() {
		return m_bTrustee;
	}

	public void setM_bTrustee(boolean[] m_bTrustee) {
		this.m_bTrustee = m_bTrustee;
	}

	public byte getM_cbQuanFeng() {
		return m_cbQuanFeng;
	}

	public void setM_cbQuanFeng(byte m_cbQuanFeng) {
		this.m_cbQuanFeng = m_cbQuanFeng;
	}

	public byte getM_cbQuanCounter() {
		return m_cbQuanCounter;
	}

	public void setM_cbQuanCounter(byte m_cbQuanCounter) {
		this.m_cbQuanCounter = m_cbQuanCounter;
	}

	public byte getM_cbLianZhuangCount() {
		return m_cbLianZhuangCount;
	}

	public void setM_cbLianZhuangCount(byte m_cbLianZhuangCount) {
		this.m_cbLianZhuangCount = m_cbLianZhuangCount;
	}

	public boolean[] getM_bTianDiHu() {
		return m_bTianDiHu;
	}

	public void setM_bTianDiHu(boolean[] m_bTianDiHu) {
		this.m_bTianDiHu = m_bTianDiHu;
	}
    
	public byte[] getM_cbFengCardData() {
		return m_cbFengCardData;
	}

	public void setM_cbFengCardData(byte[] m_cbFengCardData) {
		this.m_cbFengCardData = m_cbFengCardData;
	}

	public byte getM_cbFengCardCount() {
		return m_cbFengCardCount;
	}

	public void setM_cbFengCardCount(byte m_cbFengCardCount) {
		this.m_cbFengCardCount = m_cbFengCardCount;
	}

	/*public byte getM_cbLeftCardCount() {
		return m_cbLeftCardCount;
	}

	public void setM_cbLeftCardCount(byte m_cbLeftCardCount) {
		this.m_cbLeftCardCount = m_cbLeftCardCount;
	}
*/
//	public byte[] getM_cbRepertoryCard() {
//		return m_cbRepertoryCard;
//	}
//
//	public void setM_cbRepertoryCard(byte[] m_cbRepertoryCard) {
//		this.m_cbRepertoryCard = m_cbRepertoryCard;
//	}

	public boolean isM_bGangStatus() {
		return m_bGangStatus;
	}

	public void setM_bGangStatus(boolean m_bGangStatus) {
		this.m_bGangStatus = m_bGangStatus;
	}

	public boolean[] getM_bEnjoinChiHu() {
		return m_bEnjoinChiHu;
	}

	public void setM_bEnjoinChiHu(boolean[] m_bEnjoinChiHu) {
		this.m_bEnjoinChiHu = m_bEnjoinChiHu;
	}

	public boolean[] getM_bEnjoinChiPeng() {
		return m_bEnjoinChiPeng;
	}

	public void setM_bEnjoinChiPeng(boolean[] m_bEnjoinChiPeng) {
		this.m_bEnjoinChiPeng = m_bEnjoinChiPeng;
	}

	public boolean[] getM_bResponse() {
		return m_bResponse;
	}

	public void setM_bResponse(boolean[] m_bResponse) {
		this.m_bResponse = m_bResponse;
	}

	public byte[] getM_cbUserAction() {
		return m_cbUserAction;
	}

	public void setM_cbUserAction(byte[] m_cbUserAction) {
		this.m_cbUserAction = m_cbUserAction;
	}

	public byte[][] getM_cbOperateCard() {
		return m_cbOperateCard;
	}

	public void setM_cbOperateCard(byte[][] m_cbOperateCard) {
		this.m_cbOperateCard = m_cbOperateCard;
	}

	public byte[] getM_cbPerformAction() {
		return m_cbPerformAction;
	}

	public void setM_cbPerformAction(byte[] m_cbPerformAction) {
		this.m_cbPerformAction = m_cbPerformAction;
	}

	public byte[] getM_cbWeaveItemCount() {
		return m_cbWeaveItemCount;
	}

	public void setM_cbWeaveItemCount(byte[] m_cbWeaveItemCount) {
		this.m_cbWeaveItemCount = m_cbWeaveItemCount;
	}



	public byte getM_cbChiHuCard() {
		return m_cbChiHuCard;
	}

	public void setM_cbChiHuCard(byte m_cbChiHuCard) {
		this.m_cbChiHuCard = m_cbChiHuCard;
	}

	public byte[] getM_dwChiHuKind() {
		return m_dwChiHuKind;
	}

	public void setM_dwChiHuKind(byte[] m_dwChiHuKind) {
		this.m_dwChiHuKind = m_dwChiHuKind;
	}

	public CChiHuRight[] getM_ChiHuRight() {
		return m_ChiHuRight;
	}

	public void setM_ChiHuRight(CChiHuRight[] m_ChiHuRight) {
		this.m_ChiHuRight = m_ChiHuRight;
	}

	public int getM_cbSendCardData() {
		return m_cbSendCardData;
	}

	public void setM_cbSendCardData(int m_cbSendCardData) {
		this.m_cbSendCardData = m_cbSendCardData;
	}

	/*public int getM_cbSendCardCount() {
		return m_cbSendCardCount;
	}

	public void setM_cbSendCardCount(int m_cbSendCardCount) {
		this.m_cbSendCardCount = m_cbSendCardCount;
	}
*/
	public int getM_wProvideUser() {
		return m_wProvideUser;
	}

	public void setM_wProvideUser(int m_wProvideUser) {
		this.m_wProvideUser = m_wProvideUser;
	}

	public int getM_cbProvideCard() {
		return m_cbProvideCard;
	}

	public void setM_cbProvideCard(int m_cbProvideCard) {
		this.m_cbProvideCard = m_cbProvideCard;
	}

	public int getM_wResumeUser() {
		return m_wResumeUser;
	}

	public void setM_wResumeUser(int m_wResumeUser) {
		this.m_wResumeUser = m_wResumeUser;
	}

	public int getM_wCurrentUser() {
		return m_wCurrentUser;
	}

	public void setM_wCurrentUser(int m_wCurrentUser) {
		this.m_wCurrentUser = m_wCurrentUser;
	}

	public int getM_cbOutCardCount() {
		return m_cbOutCardCount;
	}

	public void setM_cbOutCardCount(int m_cbOutCardCount) {
		this.m_cbOutCardCount = m_cbOutCardCount;
	}

	public byte[][] getCards() {
		return cards;
	}

	public void setCards(byte[][] cards) {
		this.cards = cards;
	}
	
	public int getM_wReplaceUser() {
		return m_wReplaceUser;
	}

	public void setM_wReplaceUser(int m_wReplaceUser) {
		this.m_wReplaceUser = m_wReplaceUser;
	}

	public int getM_wOutCardUser() {
		return m_wOutCardUser;
	}

	public void setM_wOutCardUser(int m_wOutCardUser) {
		this.m_wOutCardUser = m_wOutCardUser;
	}

	public byte getM_cbOutCardData() {
		return m_cbOutCardData;
	}

	public void setM_cbOutCardData(byte m_cbOutCardData) {
		this.m_cbOutCardData = m_cbOutCardData;
	}

	public boolean isM_bSendStatus() {
		return m_bSendStatus;
	}

	public void setM_bSendStatus(boolean m_bSendStatus) {
		this.m_bSendStatus = m_bSendStatus;
	}

	public byte[][] getCardIndex() {
		return CardIndex;
	}

	public void setCardIndex(byte[][] cardIndex) {
		CardIndex = cardIndex;
	}
	
	public List<List<Byte>> getPushed_card() {
		return pushed_card;
	}

	public void setPushed_card(List<List<Byte>> pushed_card) {
		this.pushed_card = pushed_card;
	}

	
	public List<List<Byte>> getH_cards() {
		return h_cards;
	}

	public void setH_cards(List<List<Byte>> h_cards) {
		this.h_cards = h_cards;
	}

	public Byte getGod_card() {
		return god_card;
	}

	public void setGod_card(Byte god_card) {
		this.god_card = god_card;
	}

	public Set<Integer> getEnter_player() {
		return enter_player;
	}

	public void setEnter_player(Set<Integer> enter_player) {
		this.enter_player = enter_player;
	}

	public List<Byte> getRemain_card() {
		return remain_card;
	}

	public void setRemain_card(List<Byte> remain_card) {
		this.remain_card = remain_card;
	}

	public String getRoomUuid() {
		return roomUuid;
	}

	public void setRoomUuid(String roomUuid) {
		this.roomUuid = roomUuid;
	}

	public List<Integer> getPlayerIds() {
		return playerIds;
	}

	public void setPlayerIds(List<Integer> playerIds) {
		this.playerIds = playerIds;
	}

	

	
	public Short getRoundSum() {
		return roundSum;
	}

	public void setRoundSum(Short roundSum) {
		this.roundSum = roundSum;
	}

	@Override
	public String toString() {
		return "MjRound [cards=" + cards + " remain_card" + remain_card + "]";
	}

}
